#pragma once
#include "Key.h"

namespace AppliedCryptography
{
	namespace AES
	{
		namespace AC = AppliedCryptography;

		enum EKeySize
		{
			key128bit = 16,
			key192bit = 24,
			key256bit = 32
		};

		template<AC::AES::EKeySize TKeySize>
		class Key : public AC::Key<TKeySize>
		{
		public:
			explicit Key() : AC::Key<TKeySize>()
			{ /*...*/ };

			explicit Key(const std::vector<byte>& contentBytes) : AC::Key<TKeySize>(contentBytes)
			{ /*...*/ };

			virtual ~Key()
			{ /*...*/ };
		};
	};
};
